1. Technical Field
This disclosure generally relates to computer software development, and more specifically relates to a system and method for testing computer software using tracking bits in branch instructions to track portions of the software that have been tested.
2. Background Art
Testing new software is an important part of the software development process. Software is composed of many software instructions. The instructions take different paths that are determined by branch instructions. To fully test the software, developers need to insure that testing includes applying input to the program to cause the program to take both possible paths at each branch instruction at least once in the testing life cycle of the program. If not all paths are tested, then defects may not be found until software deployment. Identifying and correcting software defects after software deployment increases costs and reduces customer satisfaction. The prior art methodologies for branch testing use exhaustive recording and reporting techniques to track code execution behaviors of the program. These tools require extensive memory and processing power o track information after executing each instruction.